home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 3242 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.9 KB

  1. Path: informatik.tu-muenchen.de!fischerj
  2. From: fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: doubling pixels horizontally
  5. Date: 9 Feb 1996 13:47:31 GMT
  6. Organization: Technische Universitaet Muenchen, Germany
  7. Distribution: world
  8. Message-ID: <4ffj9j$c68@sunsystem5.informatik.tu-muenchen.de>
  9. References: <4f4ibc$gl9@news.cs.tu-berlin.de> <591.6610T1165T2102@login.eunet.no>  <1045.6611T753T2256@vip.cybercity.dk> <4faoe1$47@sunsystem5.informatik.tu-muenchen.de> <2991.6612T1034T625@vip.cybercity.dk>
  10. NNTP-Posting-Host: hphalle5.informatik.tu-muenchen.de
  11. Originator: fischerj@hphalle5.informatik.tu-muenchen.de
  12.  
  13.  
  14. In article <2991.6612T1034T625@vip.cybercity.dk>, ccc6004@vip.cybercity.dk (Hans Henrik Happe) writes:
  15. |> Organization: CyberCity of Denmark
  16. |> Lines: 83
  17. |> Message-ID: <2991.6612T1034T625@vip.cybercity.dk>
  18. |> References: <4f4ibc$gl9@news.cs.tu-berlin.de> <591.6610T1165T2102@login.eunet.no>
  19. |>     <1045.6611T753T2256@vip.cybercity.dk> <4faoe1$47@sunsystem5.informatik.tu-muenchen.de>
  20. |> NNTP-Posting-Host: 194.16.56.145
  21. |> X-Newsreader: THOR 2.22 (Amiga;TCP/IP) *UNREGISTERED*
  22. |> 
  23. |> 
  24. |> Juergen "Rally" Fischer ( fischerj@informatik.tu-muenchen.de ) wrote:
  25. |> > In article <1045.6611T753T2256@vip.cybercity.dk>, ccc6004@vip.cybercity.dk
  26. |> > (Hans Henrik Happe) writes:
  27. |> >|> Organization: CyberCity of Denmark
  28. |> >|> Lines: 33
  29. |> >|> Message-ID: <1045.6611T753T2256@vip.cybercity.dk>
  30. |> >|> References: <4f4ibc$gl9@news.cs.tu-berlin.de>
  31. |> >|> <591.6610T1165T2102@login.eunet.no> NNTP-Posting-Host: 194.16.56.105
  32. |> >|> X-Newsreader: THOR 2.22 (Amiga;TCP/IP) *UNREGISTERED*
  33. |> >|> 
  34. |> >|> 
  35. |> >|> Patrick Hanevold ( patrick.hanevold@login.eunet.no ) wrote:
  36. |> >|> >>I wonder how to double pixels horizontally without writing
  37. |> >|> >>them twice! I've seen this trick in several demos and I
  38. |> >|> >>believe that it is just a little trick with the hardware.
  39. |> >|> >>I also wonder about another thing:
  40. |> >|> >>you may have noticed that there is a "sprite mode" where
  41. |> >|> >>the sprite switches from Hires back to Lores and displays
  42. |> >|> >>only every second column of pixels! I wonder if this is
  43. |> >|> >>possible/will happen  for bitmaps too.
  44. |> >|> 
  45. |> >|> > It's in the chunky to planar convertion.
  46. |> >|> 
  47. |> >|> You can also render only every 2nd pixels, mask out those you don't want
  48. |> >|> with sprites, and then:
  49. |> >|> 
  50. |> >|> loop
  51. |> >|>     1st frame: show pixel 02468... mask out 13579...
  52. |> >|>     2nd frame: show pixel 13579... mask out 02468...
  53. |> >|>     jump loop
  54. |> >|> 
  55. |> >|> In the 2nd frame you shift (scroll) the bitplanes 1 to the right.
  56. |> >|> This looks allmost as the real double pixels (Gives very little flicker)
  57. |> >|> and you only have to write half as much to the chip mem.
  58. |> 
  59. |> > not really. to change 100 pixels, you got to write 100 words.
  60. |> > only fx running 50Hz might work with the trick of writing
  61. |> > only 50 pix each frame, but then gfx maybe doesn't look
  62. |> > more like 50pix.
  63. |> 
  64. |> A bitmap for this screen would look like this:
  65. |> 
  66. |> ChipMem: 0101010101...  ; the '0' representing bitplane 0, '1' bitplane 1
  67. |>          ^^^^^^^^^^
  68. |> Pixel:   0011223344
  69. |> 
  70. |> will be combined this way:
  71. |> 
  72. |> 1st frame:
  73. |> 
  74. |> blp0pt = ChipMem; scroll 1 to the right | 010101010...
  75. |> blp1pt = ChipMem                        |010101010...
  76. |> sprite mask:                            | sbsbsbsbs  ; s = see throuth, b = black
  77. |> 
  78. |> 2nd frame:
  79. |> 
  80. |> blp0pt = ChipMem, scroll 2 to the right |  010101010...
  81. |> blp1pt = ChipMem  scroll 1 to the right | 010101010...
  82. |> sprite mask:                            |  sbsbsbsbs  ; s = see throuth, b = black
  83. |> 
  84. |> This is actually just like a 2pass scrabeled or 3pass nonscrab. blitterscreen,
  85. |> with spritemasks.
  86.  
  87. huh, you're explaining blitterscreen to ME ? =:D
  88.  
  89. mhm sorry I don't know how I got the idea you did a coperscreen :)
  90. You said "render every 2n pixel". well, cpu renders normal linear memory.
  91.  
  92. I agree, with the lace method you get the normal blocky 2x2 lock,
  93. there you are, you wanted it like that ;) I still prefer ghost-look
  94. for most cases, it just looks more like hires.
  95.  
  96. |> 
  97. |> >|> 
  98. |> >|> This effect can be done using only the copper.
  99. |> 
  100. |> > aah, you mean interlaced copperscreen to get more resolution.
  101. |> > well. gives 200x256 1x2.
  102. |> 
  103. |> Not copperscreens. You use the copper to change sprite-pos, shifts and double vert. lines
  104. |> from frame to frame. Call it double buffered copper if you like.
  105.  
  106. argh I was misdirected.
  107.  
  108. |> 
  109. |> > IMHO copperscreens are only usefull for demos.
  110. |> > use 3pass-c2p ("blitterscreen") or 4pass-c2p for games.
  111. |> 
  112. |>       2pass-c2p 2x2 scrab. 3pass-c2p 2x2 nonscrab. is what
  113. |>       my blitterscreen can do, the same goes for 2x1.
  114. |> 
  115. yes, same specs for 2x1. I prefer the 3pass version, 2 pass is only
  116. useful for very special renderers.
  117.  
  118. |> 
  119. |> Hans Henrik Happe
  120. |>  Goat / Sumpen
  121. |> 
  122. ------------------------------------------------------------------------
  123.    fischerj@Informatik.TU-Muenchen.DE (Juergen "Rally" Fischer)   =:)
  124.  
  125.